草庐IT

MySQL GROUP_CONCAT 和 DISTINCT

全部标签

sql - 返回字段的 DISTINCT 第一个字符(MySQL)

我想为我的数据库中列的所有首字母生成一个字符列表。下面的SQL说明了我想要返回的内容。SELECTDISTINCTfirst_character(name)FROMmydatabase有没有办法在MySQL中做到这一点?编辑使用SUBSTRING比LEFT有什么优势,反之亦然?编辑目前该表中有大约1700条记录,并且还在不断增加。 最佳答案 很抱歉这样做,但我刚刚弄清楚我需要做什么。SELECTDISTINCTLEFT(name,1)FROMmydatabase这返回了列中每行开始的第一个不同的单个字符的列表。我添加将其更改为以下内

sql - 返回字段的 DISTINCT 第一个字符(MySQL)

我想为我的数据库中列的所有首字母生成一个字符列表。下面的SQL说明了我想要返回的内容。SELECTDISTINCTfirst_character(name)FROMmydatabase有没有办法在MySQL中做到这一点?编辑使用SUBSTRING比LEFT有什么优势,反之亦然?编辑目前该表中有大约1700条记录,并且还在不断增加。 最佳答案 很抱歉这样做,但我刚刚弄清楚我需要做什么。SELECTDISTINCTLEFT(name,1)FROMmydatabase这返回了列中每行开始的第一个不同的单个字符的列表。我添加将其更改为以下内

sql - 如何使用 group_concat 引用值

我需要使用group_concat来构建逗号分隔值的列表,但我需要引用这些值。我该怎么做?这个:425,254,431,53,513,13,1,13应转换为:'425','254','431','53','513','13','1','13' 最佳答案 用途:GROUP_CONCAT(CONCAT('''',your_column,'''')) 关于sql-如何使用group_concat引用值,我们在StackOverflow上找到一个类似的问题: http

sql - 如何使用 group_concat 引用值

我需要使用group_concat来构建逗号分隔值的列表,但我需要引用这些值。我该怎么做?这个:425,254,431,53,513,13,1,13应转换为:'425','254','431','53','513','13','1','13' 最佳答案 用途:GROUP_CONCAT(CONCAT('''',your_column,'''')) 关于sql-如何使用group_concat引用值,我们在StackOverflow上找到一个类似的问题: http

mysql - 具有潜在 NULL 或空值的条件 CONCAT

在下面的代码中,我通过连接地址的各个部分来创建地址字段。但是,如果例如address2是空的,尾随,仍将连接到地址中。这意味着如果所有字段都是空的,我最终得到的结果是,,,,.如果address1是"HouseNumber"其他一切都是空的,我最后得到HouseNumber,,,,.CONCAT(COALESCE(address1,''),',',COALESCE(address2,''),',',COALESCE(address3,''),',',COALESCE(city,''),',',COALESCE(zip,''))ASAddress,只有本地址部分的内容不为空时,是否有某种

mysql - 具有潜在 NULL 或空值的条件 CONCAT

在下面的代码中,我通过连接地址的各个部分来创建地址字段。但是,如果例如address2是空的,尾随,仍将连接到地址中。这意味着如果所有字段都是空的,我最终得到的结果是,,,,.如果address1是"HouseNumber"其他一切都是空的,我最后得到HouseNumber,,,,.CONCAT(COALESCE(address1,''),',',COALESCE(address2,''),',',COALESCE(address3,''),',',COALESCE(city,''),',',COALESCE(zip,''))ASAddress,只有本地址部分的内容不为空时,是否有某种

mysql - 将 SELECT DISTINCT ON 查询从 Postgresql 转换为 MySQL

我一直在使用PostgreSQL,现在正在迁移到MySQL。在我的查询中,我使用PostgreSQL的SELECTDISTINCTON(col1,col2,col3),我想知道是否有任何对应的语句在MySQL中。 最佳答案 没有完全等效的方法可以将使用SELECTDISTINCTON的Postgresql查询转换为MySQL。PostgresqlSELECTDISTINCTON在Postgresql中,下面的查询会剔除表达式(col1,col2,col3)匹配的所有行,并且只保留每组匹配的“firstcol4,col5row”行:S

mysql - 将 SELECT DISTINCT ON 查询从 Postgresql 转换为 MySQL

我一直在使用PostgreSQL,现在正在迁移到MySQL。在我的查询中,我使用PostgreSQL的SELECTDISTINCTON(col1,col2,col3),我想知道是否有任何对应的语句在MySQL中。 最佳答案 没有完全等效的方法可以将使用SELECTDISTINCTON的Postgresql查询转换为MySQL。PostgresqlSELECTDISTINCTON在Postgresql中,下面的查询会剔除表达式(col1,col2,col3)匹配的所有行,并且只保留每组匹配的“firstcol4,col5row”行:S

mysql - 在 MySQL 中,是否可以从 GROUP_CONCAT 返回超过 1024 个字符

我有一个查询,它返回需要一些非常复杂的工作来计算的状态的计数。用户想要深入了解该列表,我认为最简单的方法是使用GROUP_CONCAT获取id。很遗憾,GROUP_CONCAT的结果被截断为1024(?!)个字符。是否有可能获得超过1024个字符,还是我的方法有误? 最佳答案 您需要设置group_concat_max_len到更高的值(value)。这可以在session或全局级别上完成。以下查询将该session中其余查询的最大长度设置为10,000:SETSESSIONgroup_concat_max_len=10000;您遇

mysql - 在 MySQL 中,是否可以从 GROUP_CONCAT 返回超过 1024 个字符

我有一个查询,它返回需要一些非常复杂的工作来计算的状态的计数。用户想要深入了解该列表,我认为最简单的方法是使用GROUP_CONCAT获取id。很遗憾,GROUP_CONCAT的结果被截断为1024(?!)个字符。是否有可能获得超过1024个字符,还是我的方法有误? 最佳答案 您需要设置group_concat_max_len到更高的值(value)。这可以在session或全局级别上完成。以下查询将该session中其余查询的最大长度设置为10,000:SETSESSIONgroup_concat_max_len=10000;您遇